<?php

declare(strict_types=1);
/**
 * This file is part of Hyperf.
 *
 * @link     https://www.hyperf.io
 * @document https://doc.hyperf.io
 * @contact  group@hyperf.io
 * @license  https://github.com/hyperf-cloud/hyperf/blob/master/LICENSE
 */

$appEnv = env('APP_ENV', 'dev');
$path = '';
if ($appEnv != 'prod') {
    if ($appEnv == 'test') {
        $path = 'test-task';
    }
    if ($appEnv == 'dev') {
        $path = 'task';
    }
    $formatter = [
        'class' => \Monolog\Formatter\LineFormatter::class,
        'constructor' => [
            'format' => "||%datetime%||%channel%||%level_name%||%message%||%context%||%extra%\n",
            'allowInlineLineBreaks' => true,
            'includeStacktraces' => true,
        ],
    ];
} else {
    $formatter = [
        'class' => \Monolog\Formatter\JsonFormatter::class,
        'constructor' => [],
    ];
}

return [
    'default' => [
        'handlers' => [
            [
                'class' => Monolog\Handler\RotatingFileHandler::class,
                'constructor' => [
                    'filename' => "/data/{$path}/logs/info.logs",
                    'level' => Monolog\Logger::INFO,
                ],
                'formatter' => $formatter
            ],
            [
                'class' => Monolog\Handler\RotatingFileHandler::class,
                'constructor' => [
                    'filename' => "/data/{$path}/logs/error.logs",
                    'level' => Monolog\Logger::ERROR,
                ],
                'formatter' => $formatter
            ],
        ]
    ],
];
